class Board
{
public:
    Board(int rows, int columns);
    ~Board();
    enum Field { White, Black, None };
    bool validMove(int x, int y, Field color) const;
    bool setField(int x, int y, Field color);
    Field field(int x, int y) const;
    int rows() const;
    int columns() const;
    void boardChanged(int left, int top, int width, int height);
private:
    int r, c;
    Field *fld;
};
